package cn.xeblog.plugin.tools.read.page;

import javax.swing.*;
import java.awt.*;

/**
 * UI管理器
 *
 * @author LYF
 * @date 2022-07-18
 */
public class UIManager {

  /**
   * 主界面
   */
  public static JPanel mainPanel;
  /**
   * 开始页
   */
  public static StartPage startPage;
  /**
   * 书架页
   */
  public static BookshelfPage bookshelfPage;
  /**
   * 目录页
   */
  public static DirectoryPage directoryPage;
  /**
   * 阅读页
   */
  public static ReadPage readPage;
  /**
   * 设置页
   */
  public static SettingPage settingPage;

  /**
   * 展示页面
   *
   * @param panel  面板
   * @param width  宽度
   * @param height 高度
   */
  public static void showPage(JComponent panel, int width, int height) {

    SwingUtilities.invokeLater(() -> {
      // 清空所有组件
      mainPanel.removeAll();

      // 设置布局和宽度
      mainPanel.setLayout(null);
      mainPanel.setMinimumSize(new Dimension(width, height));

      // 添加面板并刷新页面
      mainPanel.add(panel);
      mainPanel.updateUI();
    });
  }
}
